Devices, systems and methods for synchronizing event windows in wireless network

ABSTRACT

A method can include receiving a timing signal that is part of a first communication protocol; by operation of a master device operating according to a second communication protocol, determining event timing windows for a plurality of slave devices of the master device; and by operation of the master device, transmitting control packets to the slave devices, adjusting clock values in the slave devices to sequentially order the event timing windows within an event group window; wherein the event window is timed according to the timing signal. Related devices and systems are also disclosed.

This application is a continuation application of U.S. patentapplication Ser. No. 16/213,772, filed on Dec. 7, 2018, which claims thebenefit of U.S. provisional patent application having Ser. No.62/741,153, filed on Oct. 4, 2018, both of which are incorporated byreference herein in their entirety.

TECHNICAL FIELD

The present disclosure relates generally to wireless networks, and moreparticularly to wireless networks that reserve event timing windows forpossible transactions between connected devices.

BACKGROUND

Conventional short range wireless networks, such as Bluetooth (BT)piconets, can enable devices to be placed into reduced power consumptionstates where devices only periodically monitor (e.g., “sniff”) a mediumfor transmissions. While such capabilities can enable very low poweroperations, in networks having a combination device where BT circuitsshare a medium with other circuits (e.g., WLAN), the need toperiodically monitor the medium can limit data throughput.

FIG. 15A shows a conventional piconet 1501. Conventional piconet 1501can include a combination device 1503 and a number of slave devices1505-1 to -3 in communication via wireless connections 1507. Acombination device 1503 can include a BT portion 1503-0, serving as a BTmaster, and a WLAN portion 1503-1. BT portion 1503-0 and WLAN portion1503-1 can share a 2.4 GHz transmission medium.

FIG. 15B is a timing diagram showing operations of the piconet 1501shown in FIG. 15A. FIG. 15B includes waveforms for each BT slave (shownas BT_1, BT_2, BT_3) as well as the shared medium. In FIG. 15B it isassumed that each BT slave has entered a sniff mode, and thus will onlylook for transmissions in a sniff window. Referring to waveform BT_1,sniff windows (one shown as 1509) can occur at sniff anchor points witha frequency having a period of Tsniff 1511. In the event communicationsare to occur in a sniff window, the BT master 1503-0 will request totake control over the medium from the WLAN portion 1503-1 (a coexistencerequest). In most cases, such requests will have a high priority andthus take control over the medium if it is being used by the WLANportion 1503-1.

As shown by the medium waveform, due to the various sniff windows, therecan be numerous locations where BT portion 1503-0 can take control ofthe medium. This can reduce the consistent availability of the medium,thus reducing data throughput in the system. In particular, there can bechopping of aggregated media access control protocol data units (MPDU)of the WLAN portion 1503-1 as the medium is yielded for BT use.

It would be desirable to arrive at some way of improving data throughputin networks that employ combination devices, including but not limitedto, combination BT-WLAN devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a wireless network according to anembodiment.

FIGS. 2A and 2B are timing diagrams showing an event window adjustmentoperation according to an embodiment.

FIG. 3 is a timing diagram showing an aggregation of event windowsaccording to an embodiment.

FIG. 4 is a flow diagram showing a method of adjusting event windowtiming according to an embodiment.

FIG. 5 is a block diagram of a combination device according to anembodiment.

FIG. 6 is a block diagram of a Bluetooth (BT)-WLAN combination deviceaccording to an embodiment.

FIG. 7 is a block diagram of a piconet according to an embodiment.

FIG. 8 is a flow diagram of a method of adjusting a slave event windowtiming according to an embodiment.

FIG. 9 is a flow diagram of a strobe calibration operation according toan embodiment.

FIGS. 10A to 10D are timing diagrams showing event window adjustmentoperations according to embodiments.

FIG. 11 is a flow diagram of a method for adjusting event periodsaccording to an embodiment.

FIGS. 12A and 12B are timing diagrams showing event period adjustmentoperations according to an embodiment.

FIG. 13 is a diagram showing a combination device according to anotherembodiment.

FIGS. 14A to 14D are diagrams of systems according to variousembodiments.

FIGS. 15A and 15B are diagrams showing a conventional piconet andtiming.

DETAILED DESCRIPTION

According to embodiments, systems can include a master device inwireless communication with a number of slave devices. A master devicecan be a combination device having collocated communication circuitsthat share a medium but operate according to different protocols. Slavedevices can have event timing windows in which communications can takeplace with the master. A master device can send commands to the slavedevices to aggregate event timing windows, which can increase athroughput in the system.

In some embodiments, slave devices can establish event timing windowsbased on slave clocks. A master device can “nudge” slave clocks toaggregate the event timing windows, moving the slave clocks in multipleoperations by only limited amounts. Limiting the size of slave clockmovement can prevent loss of synchronization of master-slavecommunications.

In some embodiments, a combination device can be Bluetooth (BT)-WLANcombination device that can operate as a BT master for a number of BTslaves.

In the various embodiments below, like items are referred to by the samereference characters, but with the leading digit(s) corresponding to thefigure number.

FIG. 1 is a block diagram of a system 100 according to an embodiment. Asystem 100 can include a master device 102 and a number of slave devices104-0 to -2. A master device 102 can be in communication with slavedevices (104-0 to -2) over wireless communication links 106. In someembodiments, master device can communicate with slave devices (104-0 to-2) according to a packet based protocol. Thus, a master device 102 cancontrol a slave device (104-0 to -2) by transmitting packets 108.

Slave devices (104-0 to -2) can operate in one or more modes in whichcommunications with a master 102 can occur in event windows separated intime. Slave devices (104-0 to -2) can each include a slave clockadjustor 124, a slave clock circuit 126, and slave radio 120. A slaveclock circuit 126 can generate a slave clock for its slave device. Theoccurrence of event windows for the slave device can be based on thecorresponding slave clock. A slave clock adjustor 124 can adjust thecorresponding slave clock in response to inputs (e.g., commands,instructions, requests) received from a master device 102. In someembodiments, event windows for slaves can be periodic events. Slaveradio circuits 120 can enable slave devices (104-0 to -2) to communicatewith master device 102 according to a first protocol. Slave radiocircuits 120 can include any suitable circuits according to a selectedprotocol, and in some embodiments can include physical interface (PHY)circuits and baseband circuits. In some embodiments, slave radiocircuits 120 can transmit/receive on any internationally recognized ISMband. In some embodiments, radio circuits 120 can transmit and receiveat a band around 2.4 GHz.

In some embodiments, a system 100 can have a star topology, howeverparticular topologies should not be construed as limiting.

A master device 102 can include first circuits 102-0, second circuits102-1 and master radio circuits 122. First circuits 102-0 can storeslave data 110 and include a master clock circuit 112, a clock adjustor114, and a command generator 116. Slave data 110 can store data forslave devices (104-0 to -2). Such data can enable first circuits 102-0to determine a timing of event windows for each slave device (104-0 to-2). In the embodiment shown, slave data can include event data EVENTSand slave clock data CLKS. Event data can indicate when event windowscan occur relative slave clocks signals. Slave clock data CLKS canindicate slave clocks relative to a master clock running in the firstcircuits 102-0. In some embodiments, slave data 110 can be derived fromdata transmitted from slave devices (104-0 to -2).

A master clock circuit 112 can generate a master clock for controllingcommunication timing of communication links 106. In some embodiments, amaster clock 112 can operate at the same rate of a slave clock. Clockadjustor 114 can utilize slave data 110 to determine a position of eventwindows of slave devices (104-0 to -2) with respect to a referencepoint. Such a reference point can be derived from a reference strobeSTROBE generated by second circuits 102-1. From such slave data, clockadjustor 114 can determine how to adjust slave clocks and thereby moveevent timing windows to be aggregated together in a limited groupwindow.

A command generator 116 can generate commands for controlling operationsof slave devices (104-0 to -2), including commands which can adjust theclocks of the slave devices (104-0 to -2). In some embodiments, a masterdevice 102 can adjust slave clocks of slave devices in an incremental(e.g., clock dragging or nudging fashion), in which clock adjustmentcommands can continue to be sent until an event window is determined tobe at a desired location. However, in other embodiments, slave devicescan make such clock changes in response to a single command.

Second circuits 102-1 can include a timing circuit 118 which cangenerate a reference strobe STROBE. As noted above, a reference strobeSTROBE can be used to establish an aggregation point for the eventwindows. Timing circuit 118 can operate at a clock speed faster thanmaster clock circuit 112.

Master radio circuits 122 can enable master device 102 to communicatewith slave devices (104-0 to 104-2). In a particular embodiment, masterradio circuits 122 can transmit and receive at more than one band. Asbut one of many possible examples, master radio circuits 122 can operateon a first band around 2.4 GHz to communicate with slave devices (104-0to 104-2), and a second band around 5.0 GHz that is not used tocommunicate with slave devices (104-0 to 104-2).

FIGS. 2A and 2B are timing diagrams showing operations according toembodiments. FIGS. 2A and 2B show waveforms for a strobe signal STROBE,as well as event windows for three slave devices SLAVE0, SLAVE1, SLAVE2.Referring to FIG. 2A, each slave device can have event windows (oneshown as 230) that reoccur over time. Event windows can be time periodswhere communications can be initiated between a master device and theslave device. In some embodiments, slave devices can operate in modeswhere no communications are initiated except in event windows. A strobesignal STROBE can be used to time the aggregation of event windows. Insome embodiments, slave devices can operate according to one protocol,and a strobe signal STROBE can be generated from the timing of another,different protocol. In some embodiments, slave devices can operate inmodes where no communications are initiated except in event windows.

FIG. 2A shows event window timing for slave devices prior to anadjustment by a master device. Event windows (e.g., 230) can havevarious timings according to slave clocks running in their respectiveslave devices. As a result, a communication medium for the slave devicescould be taken over by a data transfer operation at various points intime. In some embodiments, event windows can be periodic events.

FIG. 2B shows event window timing for slave devices after an adjustmentby a master device. By operation of commands issued by the masterdevice, a timing of event windows can be changed relative to strobesignal STROBE. As a result, event windows can be aggregated into a groupwindow 232. As a result, the possibility of the medium being coopted byevents can be limited to the time period of the group window. It isnoted that while FIG. 2B shows group window 232 closely following theSTROBE signal, a group window 232 can have any suitable relationship tothe STROBE signal (e.g., lead or lag).

In some embodiments, first and second protocols can share a medium, anda controller of a combination device can yield the medium to firstcontrol circuits during a group window 232. That is, communicationsaccording to the first protocol can be permitted in the group window,while communications according to the second protocol can be limited orprohibited in the group window.

FIG. 3 is a timing diagram showing aggregated event windows according toan embodiment. FIG. 3 shows event windows (one shown as 330) after theyhave been aggregated in response to commands from a master device,including event windows for N slave device SLAVE1 to SLAVEN. The eventwindows can be aggregated into a group window 332 of durationtime_group. A group window 332 duration can be any suitable durationthat can improve throughput of a device. In some embodiments, time_groupcan be no greater than 3N*T1, in other embodiments no greater than2N*T1, in still other embodiments no greater than (N+2)*T1.

FIG. 4 is a flow diagram of method 440 executable by a system accordingto an embodiment. A method 440 can include determining a slave eventtiming 440-1. Such an action can include a master device receivingtiming data from slave devices. In some embodiments, such an action caninclude a master device receiving packets that indicate an offsetbetween a slave clock (running in the slave device) and a master clock(running in a master device), and where an event window will occurrelative to the slave clock. A slave event timing can be checked todetermine if it is in a group window 440-2 (i.e., a window in whichevent windows are aggregated). If the slave event is in the group window(Y from 440-2), a method 440 can wait until a new slave is connected, oran existing slave has entered a new mode that includes event windows, ora re-check (e.g., recalibrate) time period has passed 440-3, and returnto 440-1.

If the slave event is not in the group window (N from 440-2), a method440 can transmit a clock adjustment to the slave device 440-4. Such anaction can include a master transmitting a sequence of clock adjustmentsto a slave device, to “drag” the slave clock to a desired position.Alternatively, such an action can include transmitting a desired groupwindow location.

In response to a clock adjustment command, a slave device can adjust itstiming 440-5 to thereby move its event window. As noted above, such anaction can include a slave device receiving a sequence of clockadjustment commands, or just one command. A slave device can transmittiming data to a master device 440-6. Such an action can include a slavedevice returning timing data to indicate to a master device a positionof an event window. In some embodiments, such an action can includetransmitting a clock offset value that indicates a difference between aslave clock and a master clock.

FIG. 5 is a block diagram of a combination device 502 according to anembodiment. In some embodiments, a combination device 502 can beconfigured as a master device shown as 102 in FIG. 1. A combinationdevice 502 can include a controller 538, first communication circuits502-0, second communication circuits 502-1, and radio circuits 522.First communication circuits 502-0 can be wireless communicationcircuits compatible with a protocol that can support a firsttransmission range. First communication circuits 502-0 can include aclock circuit 512, communication processor 534, and communication memory536. A clock circuit 512 can generate a clock signal for timingcommunications with other devices according to the first protocol.Communication processor 534 can include processing circuits for handlingcommunications according the first protocol, including generatingcommand data for altering event window timing in slave devices.Communication memory 536 can store data for use in communicatingaccording to the first protocol, including slave data for determiningtiming of slave event windows.

Second communication circuits 502-1 can be wireless communicationcircuits compatible with a protocol that can support a secondtransmission range that is greater than the first transmission range.However, both first and second communication circuits 502-0/1 can sharea medium, and request/relinquish or otherwise acquire control over theshared medium according to any of the embodiments described herein, orequivalents. Second communication circuits 502-1 can include a timer 518from which a strobe signal for first communication circuits 502-0. Insome embodiments, a first timer 518 can operate at a COMM2 clock ratesubstantially faster than that of the clock circuit 512 (a COMM1 clockrate). For example, a COMM2 clock rate can be at least 100 times fasterthan COMM1 clock rate, or a COMM2 clock rate can be at least 300 timesfaster than COMM1 clock rate.

In particular embodiments, first communication circuits 502-0 can be aBT portion of combination device 502 and second communication circuits502-1 can be a WLAN portion of the combination device 502. Combinationdevice 502 can be formed in a single integrated circuit substrate.

Referring still to FIG. 5, a controller 538 can include one or moreprocessors 538-0 and a memory system 538-1. In some embodiments,controller 538 can control access to a shared medium based on requestsfrom first and second communication circuit 502-0/1. In someembodiments, a controller 538, by operation second communicationcircuits 502-0 (e.g., WLAN), can transmit messages to other devices ofits network operating according to the second protocol, to limit orinhibit communications in a group window (i.e., window in which eventwindows are aggregated). Freeing a shared medium for BT communicationsin the group window time period.

Radio circuits 522 can take the form of any of those described herein orequivalents.

FIG. 6 is a block diagram of a combination device 602 according toanother embodiment. In some embodiments, combination device 602 can beone particular implementation of master device shown as 102 in FIG. 1. Acombination device 602 can include first communication circuits 602-0,second communication circuits 602-1, controller 638, radio circuits 622,and input/output (I/O) circuits 642. First communication circuits 602-0can be BT circuits including BT control circuits 646 and BT basebandcircuits 644. BT circuits can operate in a 2.4 GHz band according to oneor more BT protocols. BT control circuits 646 can control BT operations,including the formation and transmission of BT packets. In theembodiment shown, BT control circuits 646 can store event data 636. Fromthe event data 636, combination device 602 can determine slave events(e.g., sniffs) and issue appropriate adjustment packets to slavedevices. BT control circuits 646 can also include a BT clock 612 to timeBT communications. A BT clock 612 can operate at a clock speed of about3.2 kHz. Second communication circuits 602-1 can be WLAN circuits,including a WiFi control circuit 650 and WiFi media access control (MAC)circuits 652. WLAN circuits can also operate in a 2.4 GHz band and socan share the band with BT circuits. Second communication circuits 602-1can include a time synchronization function (TSF) circuit 618. TSFcircuit 618 can operate according to a 1 MHz clock. A strobe value canbe generated from TSF circuit 618, from which a group window can timed.Event windows for slave devices can be aggregated within such a groupwindow as described herein and equivalents. In some embodiments, secondcommunication circuits 602-1 can also operate in a 5.0 GHz band.

In some embodiments, controller 638 can determine when to issue clockadjustment commands to slave devices to thereby move event windows byaccessing data values stored in first communication circuits 602-0. Insome embodiments, controller 638 can also control access to a shared 2.4GHz band. In the particular embodiment shown, controller 638 can includeone or more processors 638-0 and a memory system 638-1. A memory system638-1 can include instructions executable by a processor(s) 638-0 toperform all or portions of the various methods described herein, andequivalents.

Radio circuits 622 can take the form of any of those described herein orequivalents.

I/O circuits 646 can enable control of combination device 602 by anothersystem or person external to the combination device 602. I/O circuits626 can include circuits that enable communication with the combinationdevice according to any suitable method, including any of various serialdata communication standards/methods including but not limited to:serial digital interface (SDI), universal serial bus (USB), universalasynchronous receiver transmitter (UART), I²C, or I²S.

FIG. 7 is a block diagram of a piconet system 700 according to anembodiment.

System 700 can be one particular implementation of that shown in FIG. 1.A system 700 can include a BT master 702 and a number of BT slaves 704-0to -2. BT master 702 can a combination BT-WLAN device, where BT circuitscoexist with WLAN circuits to share a 2.4 GHz band. Consequently, ifslaves (704-0 to -2) require event windows (e.g., sniffs), such eventwindows can be established according to each BT slave's internal clockand can be scattered in relationship with one another. This can lead toreduced throughput in WLAN operations as described herein (e.g.,aggregate MPDU chopping). According to embodiments, slave events (e.g.,sniff anchors) can be moved by clock dragging of slave clocks toaggregate the events in a smaller window, thus preventing possiblefrequent interruption of the WLAN operations on the 2.4 GHz band.

A BT master 702 can include a BT portion 702-0 and WLAN portion 702-1 incommunication with one another over a bridge 762. BT portion 702-0 caninclude a device controller 738 and BT control circuits 746. A devicecontroller 738 can control operations in a BT master 702, includingoperations in both BT portion 702-0 and WLAN portion 702-1 (via bridge762). A controller 738 can include a strobe generator 758 and slaveadjustment circuit 714. A strobe generator 758 can generate a strobesignal based on timing values provided by TSF circuit 718 in WLANcircuits 702-1. In some embodiments, such timing values can be providedby way of bridge 762. A slave adjustment circuit 714 can determine howto adjust slave circuits to aggregate event windows based on the strobesignal and timing data for BT slaves (704-0 to -2). BT control circuits746 can control BT communications with BT slaves. BT control circuits746 can include piconet data 736, a command generator 716, and BT radiocircuits 722-0. Piconet data 736 can store data for all devices of thepiconet, including slave event window and timing data. Command generator716 can generate command in response to requests from controller 738,including commands for adjusting slave clocks. BT radio circuits 722-0can enable BT master 702 to communicate with BT slaves (704-0 to -2).

WLAN portion 702-1 can include a WLAN control circuits 750 and WLANradio circuits 722-1. WLAN control circuits 750 can enablecommunications according to one or more IEEE 802.11 wireless protocols.At least one such protocol can share the 2.4 GHz band with BT portion702-0. In some embodiments, WLAN portion 702-1 can also operate in a 5GHz band.

BT slaves (704-0 to -2) can include BT control circuits 756 and BT radiocircuits 720. BT control circuits 756 can include an event controlsection 758 and a clock adjust section 756. An event control section 758can determine event windows for a BT slave (704-0 to -2). As but oneexample, when a BT slave enters a sniff mode, event control section 758can determine sniff anchor points, as well as a time between sniffs. Aclock adjust section 756 can adjust a clock within a BT slave inresponse to commands from a BT master.

Referring still to FIG. 7, in operation, a BT master 702 can trackand/or control states of BT slaves (704-0 to -2). When a BT slave (704-0to -2[I]) is in a mode which requires the monitoring of event windows,BT master 702, based on timing data from the BT slaves, can determine ifthe event window is within a desired group window. If it is not, BTmaster 702 can transmit a control packet 708-0 to -2, which will causethe receiving BT slave (704-0 to -2) to adjust its event window and thenreturn a status packet 760-0 to -2, which can indicate a new position ofthe event window. As noted herein, a BT master 702 can make suchadjustments in any suitable fashion. In some embodiments, a BT master702 can transmit packets which gradually change an offset value of aslave clock until it is within a desired group window.

FIG. 8 is a flow diagram of method 870 executable by acombination/master device as disclosed herein, or equivalents. Method870 can include a new slave device (or a slave device switching to a newmode) that includes event windows 870-1. Such an action can include amaster device receiving data from a slave device that indicates thetiming of the event windows. A group slot can be assigned to the eventwindow 870-2. Such an action can include a master device determining alocation of a group window relative to a strobe signal, as well as aslot for the event window in the larger group window. Optionally, amethod can determine an adjustment direction 870-3 (i.e., should theevent window be moved forward or backward in time from its presentlocation). In some embodiments, a protocol may only allow clock inadjustments in one direction.

A master device can transmit a clock adjustment packet to a slave device870-4. Such an action can include a master device transmitting a packetwith an offset value for a slave clock. When the slave device updatesits clock count by the offset value, an event window can movecorrespondingly. A master device can then wait for a response packetfrom the slave device. If a response packet is not received (N from870-5), a method can implement a clock recovery operation 870-6 toensure the adjustment did not put the master and slave devices out ofsynch.

If a response packet is received (Y from 870-5), a method can determineif the event window has moved into its assigned slot in a group window870-7. If the event window still needs to be moved more (N from 870-7),a method can continue adjusting the clock (return to 870-4). If theevent window is in its assigned slot (Y from 870-7), the slot can berecorded as occupied (870-8) and a master can move to a next slot in thegroup window and return to 870-1.

As noted above, according to embodiments a master device may communicatewith a slave device according to a first protocol, but a group windowinto which event windows can be aggregated can be timed according to astrobe signal based on a second protocol. According to some embodiments,a master device can periodically calibrate an internal clock with thestrobe. Such a method is shown in FIG. 9.

FIG. 9 is a flow diagram of another method 972 executable by acombination/master device. A method 972 can include a combination/masterdevice receiving a strobe signal from second communication circuits972-1. In some embodiments, this can include a strobe signal generatedfrom WLAN circuits. The combination/master device can get a master clockcorresponding to the strobe signal 972-2. If a master clock is within anexpected error (Y from 972-3), a method can wait for a next strobe (goto 972-1). If a master clock is not within an expected error (N from972-3), the master clock and be adjusted 972-4 and the slave clocksadjusted correspondingly 972-5. In some embodiments, such an action caninclude a combination/master device sending a broadcast packet for allslave devices with the adjusted clock data.

FIGS. 10A to 10D are timing diagrams showing event window adjustmentoperations according to embodiments. FIGS. 10A to 10D show a waveformfor a strobe signal, and event windows (one shown as 1030) for threeslave devices SLAVE0 to SLAVE2.

FIG. 10A shows event windows prior to an adjustment. Event windows arenot aggregated.

FIG. 10B shows event windows after adjustments according to a firstembodiment. In the embodiment shown, a master device can adjust timingof slave devices one at a time. Thus, the event window 1030′ for SLAVE0has been moved while event windows for SLAVE1 and SLAVE2 have not beenmoved.

FIG. 10C shows event windows after adjustments according to anotherembodiment. In the embodiment shown, a master device can adjust timingof slave devices simultaneously. In some embodiments, such an action caninclude a master device emitting a broadcast packet for reception to allslave devices, as opposed to a packet addressed to one slave device.Thus, event windows for all slaves have been moved.

FIG. 10D shows event windows after adjustments have been completed.Adjusted event windows (one shown as 1030″) have been aggregated withina group window 1032, the timing of which is based on the STROBE signal.As noted above, while FIG. 10D shows a group window 1032 essentiallyfollowing the STROBE signal, in other embodiments a group window 1032can be positioned some master clock periods after the STROBE signal.

As noted herein, in some embodiments, event windows can be periodic.However, in some systems the event windows of one slave device may occurwith a different frequency than the event windows of another slavedevice, or such a frequency can change according to a mode of the slavedevice. According to embodiments, a combination/master device can adjustthe slave devices to have a same event window frequency. One suchembodiment is shown in FIG. 11.

FIG. 11 is a flow diagram of another method 1174 executable by acombination/master device. Method 1174 can include a new slave device(or a slave device switching modes) that includes event windows 1174-1.Such an action can include a master device receiving data from a slavedevice that indicates the frequency of an event window (e.g., Tsniff ina sniff mode).

A method 1174 can determine if an event period is compatible 1174-2.Such an action can include determining if the new event period matchesevent periods of existing event windows for other slave devices (or is amultiple of such other event periods). If an event period is determinedto be not compatible (N from 1174-2), a master device can adjust theevent period of the device 1174-3. If an event period is acceptable (Yfrom 1174-2), a master device can perform clock adjustment operations(1174-4) to move the event window into a group window. Such an actioncan include any of the clock adjustment techniques described herein orequivalents.

FIGS. 12A and 12B are timing diagrams showing a period adjustmentoperation like that of FIG. 11. FIG. 12A shows event windows prior to anevent period adjustment. A first slave device SLAVE0 can have an eventperiod Event_period_S0. A second slave device SLAVE1 can have an eventperiod Event_period_S1 that is shorter than Event_period_S0. A thirdslave device SLAVE2 can have an event period Event_period_S2 that islonger than Event_period_S0.

FIG. 12B shows event windows after event period adjustments according toan embodiment. An event period for SLAVE1 and SLAVE2 have been changedto match that of SLAVE0. Such an action can include a master devicetransmitting a packet to each slave device to be adjusted, that includesthe desired event period. In response to receiving such a packet, aslave device can adjust its event period correspondingly.

Following such an event period adjustment, the event windows of slavedevices SLAVE0 to SLAVE2 can be aggregated in a group window accordingto any of the embodiments disclosed herein or an equivalent.

While embodiments can include systems with various interconnectedcomponents, embodiments can include unitary devices which can varycontrol over a shared transmission medium to increase data throughput asdescribed herein, and equivalents. In some embodiments, such unitarydevices can be advantageously compact single integrated circuits (i.e.,chips). FIG. 13 show one particular example of a packaged single chipcombination device 1302. However, it is understood that a combinationdevice according to embodiments can include any other suitableintegrated circuit packaging type, as well as direct bonding of acombination device chip onto a circuit board or substrate.

Referring to FIGS. 14A to 14D, various systems according to embodimentsare shown in series of diagrams. FIG. 14A shows a handheld computingdevice 1400A. Handheld computing device 1400A can include a combinationdevice 1402A that can aggregate event windows of slave devices forhigher throughput as described herein, or equivalents.

FIG. 14B shows an automobile 1400B that can have numerous sub-systems,including a communication subsystem 1476. In some embodiments, acommunication subsystem 1476 can enable an automobile to provide WiFicommunications as well as enable other devices to pair to the system viaBluetooth. Communication subsystem 1476 can include a combination device1402B as described herein, or equivalents, to provide greater throughputfor WiFi communications.

FIG. 14C shows a router device 1400C. Router device 1400C can providerouting functions for a relatively large range protocol (e.g., WLAN)while also enabling access via a closer range protocol (e.g.,Bluetooth). Router device 1400C can include a combination device 1402Cas described herein, or equivalents.

FIG. 14D shows a human interface device 1400D. Human interface device1400D can enable a person to interact or control other devices. As but afew of many possible examples, human interface device 1400D can controla computing system, manufacturing equipment or other systems. Humaninterface device 1400D can include a combination device 1402D asdescribed herein, or equivalents.

Embodiments described herein are in contrast to conventional combinationdevices in which a wireless network can include slave devices havingvarious event window timings that are not organized, and thus can takeover access to a shared medium at various time periods. According toembodiments, higher throughput for a WLAN portion can be achieved byaggregating BT events (e.g., sniffs) into a limited window, freeing upthe shared medium for greater amounts of time.

These and other advantages would be understood by those skilled in theart.

It should be appreciated that reference throughout this specification to“one embodiment” or “an embodiment” means that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention.Therefore, it is emphasized and should be appreciated that two or morereferences to “an embodiment” or “one embodiment” or “an alternativeembodiment” in various portions of this specification are notnecessarily all referring to the same embodiment. Furthermore, theparticular features, structures or characteristics may be combined assuitable in one or more embodiments of the invention.

Similarly, it should be appreciated that in the foregoing description ofexemplary embodiments of the invention, various features of theinvention are sometimes grouped together in a single embodiment, figure,or description thereof for the purpose of streamlining the disclosureaiding in the understanding of one or more of the various inventiveaspects. This method of disclosure, however, is not to be interpreted asreflecting an intention that the claims require more features than areexpressly recited in each claim. Rather, inventive aspects lie in lessthan all features of a single foregoing disclosed embodiment. Thus, theclaims following the detailed description are hereby expresslyincorporated into this detailed description, with each claim standing onits own as a separate embodiment of this invention.

What is claimed is: 1-20. (canceled)
 21. A method of operating a masterdevice for wireless communication with a plurality of slave devices ofthe master device, the method comprising: generating a strobe signalfrom a clock configured to synchronize communications of a firstcommunication protocol; determining event timing windows of a secondcommunication protocol for the plurality of slave devices; establishingan event group window that is synchronous with the strobe signal; if anevent timing window of a slave device of the plurality of slave devicesis not in the event group window, transmitting at least one clockadjustment packet to the slave device configured to cause the slavedevice to adjust the event timing window to move toward the groupwindow; continuing to transmit clock adjustment packets to the pluralityof slave devices until the event timing windows of the plurality ofslave devices are sequentially ordered within the event group window.22. The method of claim 21, wherein each event timing window has aduration t1, the number of slave devices is N, and the event groupwindow has a duration no greater than 3N*t1.
 23. The method of claim 21,wherein: the master device is formed in a combination device havingfirst communication circuits that operate according to the firstcommunication protocol and second communication circuits that operateaccording to the second communication protocol; and the first and secondcommunication protocols share a transmission medium, the transmissionmedium being a range of frequencies.
 24. The method of claim 23, whereinthe combination device is an integrated circuit device.
 25. The methodof claim 21, wherein: the first communication protocol includes at leastone IEEE 802.11 standard, the timing signal is generated with the timesynchronization function of the at least one IEEE 802.11 standard; andthe second communication protocol includes at least one Bluetoothstandard.
 26. The method of claim 21, further including: transmittingthe at least one clock adjustment packet limits clock adjustments in theslave device to a predetermined maximum value; and receiving a clockdata packet from each slave device, and if a slave device event timingwindow is not within the event group window after the clock adjustment,transmitting another clock adjustment packet to the slave device. 27.The method of claim 21, further including: wirelessly receiving eventfrequency information for slave devices; and if the event frequencyinformation indicates that there are differences in event frequenciesbetween slave devices, transmitting control packets addressed to theslave devices that are configured to adjust event frequencies of theslave devices to a same event frequency.
 28. A master device forwireless communication with a plurality of slave devices, comprising:first communication circuits configured to receive and transmit dataover at least a first medium according to a first protocol, the firstcommunication circuits including a clock circuit to synchronizeoperations according to the first protocol; second communicationcircuits configured to receive and transmit data over at least the firstmedium according to a second protocol, the second communication circuitsconfigurable as a master device according to the second protocol;wherein the master device is configured to: generate a strobe signalfrom the clock circuit, establish an event group window synchronous withthe strobe signal, determine initial positions for event timing windowsaccording to the second protocol for a plurality of slave devices, if anevent timing window of the slave device is not in the event groupwindow, transmit at least one clock adjustment packet addressed to theslave device configured to cause the slave device to move the eventtiming window toward the event group window, and continuing to transmitclock adjustment packets to slave devices until the event timing windowsof the slave devices are sequentially ordered within the event groupwindow.
 29. The master device of claim 28, wherein each event timingwindow has a duration t1, the number of slave devices is N, and theevent group window has a duration no greater than 3N*t1.
 30. The masterdevice of claim 28, wherein: the first protocol includes at least oneIEEE 802.11 standard, and the clock circuit is a clock circuit for atime synchronization function circuit; and the second protocol includesat least one Bluetooth standard.
 31. The master device of claim 28,further configured to: transmit a clock adjustment command to each slavedevices that limits clock adjustments to a predetermined maximum value;and receive a clock data packet from the slave devices, and if a slavedevice event timing window is not within the event group window afterthe clock adjustment, transmit another clock adjustment command to theslave device.
 32. The master device of claim 31, wherein: the timingcircuit operates according to a first clock operating at a firstfrequency; and the master device transmits data according to a masterclock having a second frequency, wherein the first frequency is lessthan the second frequency.
 33. The master device of claim 28, whereinthe first medium includes frequencies of about 2.4 GHz.
 34. The masterdevice of claim 28, wherein; first communication circuits are furtherconfigured to receive and transmit data over a second medium that doesnot overlap the first medium; and the second communication circuits donot receive and transmit data over the second medium.
 35. A wirelesscommunication system, comprising: a plurality of slave devices, eachslave device including a slave controller configured to establishperiodic event timing windows based on a slave clock; and a masterdevice that includes: first communication circuits operating accordingto a first clock circuit and a first communication protocol, secondcommunication circuits in wireless communication with the slave devicesaccording to a second communication protocol, the second communicationcircuits configured to: generate a strobe signal from the first clockcircuit, establish an event group window that is synchronous with thestrobe signal, if an event timing window of a slave device is not in theevent group window, transmit a clock adjustment command to the slavedevice to alter the event timing window to align with the event groupwindow; and continue to transmit clock adjustment commands to the slavedevices until the event timing windows of the slave devices aresequentially ordered within the event group window.
 36. The wirelesscommunication system of claim 35, wherein each event timing window has aduration t1, the number of slave devices is N, and the event groupwindow has a duration no greater than 3N*t1.
 37. The wirelesscommunication system of claim 35, wherein: each slave device includes aslave clock circuit that generates the slave clock by adding an offsetvalue to a base clock value; and the first communication circuitstransmit clock adjustment commands which alter the offset value of theslave device.
 38. The wireless communication system of claim 35,wherein: the first protocol includes at least one IEEE 802.11 standard,and the first clock circuit is for a time synchronization functioncircuit; and the second protocol includes at least one Bluetoothstandard.
 39. The wireless communication system of claim 35, wherein afirst and second communication circuits are formed in a same integratedcircuit substrate.
 40. The wireless communication system of claim 35,wherein: the first communication circuits are configured to receive andtransmit data over a first medium and a second medium; the secondcommunication circuits are configured to receive and transmit data overthe first medium but not the second medium; and the first and secondmediums are non-overlapping frequency ranges.